/* 储存合同管理-基础设置相关请求 */

import { ajaxService } from '@/utils/request';
import { PostContractTemplate, PutContractTemplate } from '../type';

const env = import.meta.env;
let baseURL = env.VITE_CONTRACT_URL;

/* ---------------------------------------------------------------------------------------------------------*/

/* 合同 模板  */

// 获取全部合同表单（外层）
export function GetContractTemplate() {
  return ajaxService({
    url: '/contract/template/getAll',
    method: 'get',
    baseURL,
  });
}

// 新增 合同模板（外层）
export function PostContractTemplate(data: any) {
  return ajaxService({
    url: '/contract/template/add',
    method: 'post',
    baseURL,
    data,
  });
}

// 修改 合同模板（外层）
export function PutContractTemplate(data: PutContractTemplate) {
  return ajaxService({
    url: '/contract/template/edit',
    method: 'put',
    baseURL,
    data,
  });
}

export interface DeleteTemplate {
  id: number;
}

// 删除 合同模板（外层）
export function DeleteContractTemplate(data: DeleteTemplate) {
  return ajaxService({
    url: '/contract/template/del',
    method: 'delete',
    data,
    baseURL,
  });
}

// 复制 合同模板（外层）

export interface CopyContractTemplate {
  id: number;
}

export function CopyContractTemplate(data: CopyContractTemplate) {
  return ajaxService({
    url: '/contract/template/copy',
    method: 'post',
    data,
    baseURL,
  });
}

// 获取 单一数据 合同模板（外层）
export function GetByIdContractTemplate(params: any) {
  return ajaxService({
    url: '/contract/template/getById',
    method: 'get',
    baseURL,
    params,
  });
}

// 按钮 打开状态（外层）
export function PutContractTemplateStatusOpen(data: any) {
  return ajaxService({
    url: '/contract/template/statusOpen',
    method: 'put',
    baseURL,
    data,
  });
}

/* ------------------------------------------------------------------------------------------------------------*/

/* 合同 表单  */

// 查询 合同表单（里层）
export function GetContractDesign(params?: any) {
  return ajaxService({
    url: '/contract/design/getById',
    method: 'get',
    baseURL,
    params,
  });
}

// 添加 合同表单（里层）
export function PostContractDesign(data: any) {
  return ajaxService({
    url: '/contract/design/add',
    method: 'post',
    baseURL,
    data,
  });
}

// 修改 合同表单（里层）
export function PutContractDesign(data: any) {
  return ajaxService({
    url: '/contract/design/edit',
    method: 'put',
    baseURL,
    data,
  });
}

// 删除 合同表单（里层）
export function DeleteContractDesign(id: number) {
  return ajaxService({
    url: `/contract/design/del?id=${id}`,
    method: 'delete',
    baseURL,
  });
}

// 复制 合同表单（里层）
export function CopyontractDesign(id: number) {
  return ajaxService({
    url: '/contract/design/copy',
    method: 'post',
    baseURL,
  });
}

// 获取 合同表单列（里层），有条件时可以按条件查询
export function GetContractDesignList() {
  return ajaxService({
    url: '/contract/design/getList',
    method: 'get',
    baseURL,
  });
}

/* ------------------------------------------------------------------------------------------------------------*/

/* 合同 表单关联打印  */

// 获取 列表（里层）
export function GetContractPrint() {
  return ajaxService({
    url: '/contract/print/temp/getAll',
    method: 'get',
    baseURL,
  });
}

// 添加（里层）
export function PostContractPrint(data: any) {
  return ajaxService({
    url: '/contract/print/temp/add',
    method: 'post',
    baseURL,
    data,
  });
}

// 修改（里层）
export function PutContractPrint(data: any) {
  return ajaxService({
    url: '/contract/print/temp/edit',
    method: 'put',
    baseURL,
    data,
  });
}

// 删除（里层）
export function DeleteContractPrint(id: number) {
  return ajaxService({
    url: `/contract/print/temp/del?id=${id}`,
    method: 'delete',
    baseURL,
  });
}

// 获取详情（里层）
export function GetContractPrintList() {
  return ajaxService({
    url: '/contract/print/temp/getById',
    method: 'get',
    baseURL,
  });
}

/* ------------------------------------------------------------------------------------------------------------*/
